package com.cty;


import com.cty.Repository.UserRepository;
import com.cty.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;

import java.util.List;


//分页查询
@SpringBootTest(classes = Main.class)
public class testPage {

    @Autowired
    private UserRepository userRepository;

    @Test
    public void testPage() {
        // 分页查询 参数：传入要分页的页码 和 每页的数据量 PageRequest的of的方法 返回一个pageRequest对象 在该对象中 表明 分页的页码 和 每页页数 和排序方式(注意:排序方式只有一种)
        Page<User> userPage = userRepository.findAll(PageRequest.of(3, 3, Sort.by(Sort.Order.desc("userName"))));
        // 获得总的数据量
        System.out.println(userPage.getTotalPages());
        // 获得分页查询的内容
        List<User> content = userPage.getContent();
        for(User user: content) {
            System.out.println(user);
        }
        // 获得页码
        System.out.println(userPage.getNumber());
        //获得每页的数据量
        System.out.println(userPage.getSize());
    }
}
